package com.example.myapplication.slice;

import ohos.aafwk.ability.AbilitySlice;
import ohos.aafwk.content.Intent;
import ohos.agp.colors.RgbColor;
import ohos.agp.components.DependentLayout;
import ohos.agp.components.Text;
import ohos.agp.components.element.ShapeElement;
import ohos.agp.utils.Color;

public class SecondAbilitySlice extends AbilitySlice {
    /**
     * 以java方式实现页面布局
     * @param intent
     */
    @Override
    protected void onStart(Intent intent) {
        super.onStart(intent);
        //1声明布局对象
        DependentLayout layout  = new DependentLayout(this);
        //2设置布局页面高度按内容进行填充
        layout.setHeight(DependentLayout.LayoutConfig.MATCH_CONTENT);
        //3设置布局页面宽度按父级进行填充(没有父级情况直接认为是填充整个页面)
        layout.setWidth(DependentLayout.LayoutConfig.MATCH_PARENT);
        //4 创建背景元素的对象
        ShapeElement element = new ShapeElement();
        //5设置背景色
        element.setRgbColor(new RgbColor(0,255,0));
        //6把背景色添加到布局对象中
        layout.setBackground(element);
        //7创建文本对象
        Text text = new Text(this);
        //8设置文本内容
        text.setText("我就试试看");
        //9设置文本颜色
        text.setTextColor(Color.BLACK);
        //10设置文本宽度
        text.setWidth(DependentLayout.LayoutConfig.MATCH_PARENT);
        //11 设置文本大小
        text.setTextSize(26, Text.TextSizeType.FP);
        //12 创建文本布局对象
        DependentLayout.LayoutConfig config = new DependentLayout.LayoutConfig(
                DependentLayout.LayoutConfig.MATCH_CONTENT,
                DependentLayout.LayoutConfig.MATCH_PARENT
        );
        //13 设置文本的对齐方式  CENTER_IN_PARENT 在父级当中居中
        config.addRule(DependentLayout.LayoutConfig.CENTER_IN_PARENT);
        //14 在文本中加入 布局方案
        text.setLayoutConfig(config);
        //15 把文本加入到布局对象当中
        layout.addComponent(text);
        //16 把布局对象作为ui显示界面加入 setui
        setUIContent(layout);


       // responses.getwriter().println("<h1>xxxxxxxxx</h1>");
    }
}
